#ifndef KERNEL_MEMORY_PAGEALLOCATOR_H
#define KERNEL_MEMORY_PAGEALLOCATOR_H

#include <Mint/Types.h>
#include "Memory/Memory.h"
#include "Utils/SortedMemoryStack.h"

class PhysicalPageAllocator
{
public:
	Initialize( Address address, Size size );
	void * Allocate( Size count );
	void Free( void * memory );

private:
	Address fBaseAddress;
	Size fSize;
	Size fOffset;
	SortedMemoryStack fStack;
};

#endif // KERNEL_MEMORY_PAGEALLOCATOR_H
